Terminal having plurality of operating modes

ABSTRACT

There is set forth herein a terminal having an image sensor array and a plurality of operator selectable operating modes. The image sensor array can have an associated light source bank. The operator selectable operating modes can include at least one camera operating mode and at least one flashlight operating mode. In the at least one camera operating mode the image sensor array and light source bank can be controlled for optimization of frame capture. In the at least one flashlight operating mode the image sensor array and the light source bank can be controlled for optimizing illumination of an operators viewing area with reduced average power consumption.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. patent application Ser. No.12/684,724 for a Terminal Having Plurality of Operating Modes filed Jan.8, 2010 (and published Jul. 14, 2011 as U.S. Patent ApplicationPublication No. 2011/0169999), now U.S. Pat. No. 8,698,949. Each of theforegoing patent application, patent publication and patent is herebyincorporated by reference in its entirety.

FIELD OF THE INVENTION

The invention relates to registers for registering data in general andin particular to an optical based register operative for capture ofimage data in at least one operating mode.

BACKGROUND

Multifunctional terminals are growing in popularity. A known mobiletelephone has a user interface a radio communication interface, and animage sensor array for use in acquisition of frames of image data.Portable data terminals for use in data collection applications alsocommonly include image sensor arrays. Portable data terminals arecommonly used in a variety of applications such as point of saleapplications, warehouse applications, medical application, and shippingapplications. Both mobile telephone terminals and portable dataterminals can be portable and hand held. Image sensor arrays of aterminal can be used for frame capture.

SUMMARY

There is set forth herein a terminal having an image sensor array and aplurality of operator selectable operating modes. The image sensor arraycan have an associated light source bank. The operator selectableoperating modes can include at least one camera operating mode and atleast one flashlight operating mode. In the at least one cameraoperating mode the image sensor array and light source bank can becontrolled for optimization of frame capture. In the at least oneflashlight operating mode the image sensor array and the light sourcebank can be controlled for optimizing illumination of an operatorsviewing area with reduced average power consumption.

BRIEF DESCRIPTIONS OF THE DRAWINGS

The features described herein can be better understood with reference tothe drawings described below. The drawings are not necessarily to scale,emphasis instead generally being placed upon illustrating the principlesof the invention. In the drawings, like numerals are used to indicatelike parts throughout the various views.

FIG. 1 is physical form view of a terminal having a camera operatingmode and a flashlight operating mode.

FIG. 2 is a perspective assembly view of an imaging module.

FIG. 3 is a perspective view of an assembled imaging module.

FIG. 4 is a timing diagram illustrating operation of a terminal in acamera operating mode in one embodiment.

FIGS. 5-7 are timing diagrams illustrating operation of a terminal in aflashlight operating mode in various embodiments.

FIG. 8 is a block electrical diagram illustrating a hardware platformfor a terminal having an image sensor array.

FIG. 9 is a system diagram for a terminal.

DETAILED DESCRIPTION

Referring to FIG. 1, there is set forth herein a terminal 1000 having animaging module 200 and a plurality of operator selectable operatingmodes. The imaging module 200 can have an associated image sensor arraylight source bank. The operator selectable operating modes can includeat least one camera operating mode and at least one flashlight operatingmode. In the at least one camera operating mode the image sensor arrayand light source bank can be controlled for optimization of framecapture. In the at least one flashlight operating mode the image sensorarray and the light source bank can be controlled for optimizingillumination of an operator's viewing area with reduced powerconsumption.

Referring to further aspects of terminal 1000 a user interface ofterminal 1000 can include display 130 and its associated touch panel 132(forming a touch screen) and keyboard 122, trigger 124 and pointermechanism 126 for allowing an operator to move a pointer 127. Anoperator in one embodiment can select a desired operating mode byselection of an appropriate button 1302, 1304, 1306, 1308, 1310, 1312displayed by display 130. Terminal 1000 can include a hand held housing1002 which incorporates an imaging module 200 and additional componentsas are set forth herein.

An image sensor array 33 and a light source bank 40 of terminal 1000 canbe incorporated in an imaging module 200 an example of which is shown inFIGS. 2 and 3. In the example of FIGS. 2 and 3 imaging module 200 caninclude a printed circuit board 52 carrying an image sensor integratedcircuit 50. Image sensor integrated circuit 50 can include an imagesensor array 33. Imaging module 200 can further include a support 45which supports an imaging lens assembly 64 at a position forward of theimage sensor integrated circuit 50. Imaging module 200 can also comprisea light source bank 40 comprising one or more light sources. Imaginglens assembly 33, in combination with image sensor array 33 can define afield of view 204 of terminal 1000. Imaging lens assembly 64 can definean imaging axis 25. Terminal 1000 can be operative so that light sourcebank 40 when energized projects light about imaging axis 25 and furtherso that imaging axis 25 intersects a cone or light emitted by lightsource bank 40. Light source bank 40 can be energized for projection oflight pattern 208 substantially corresponding to field of view 204. Forprojection of light pattern 208, terminal 1000 can be operated so thatlight source bank 40 projects light toward field of view 204. In theembodiment of FIG. 2 a light source bank 40 of imaging module 200 isprovided by a single LED 42. LED 42 in one particular embodiment can bea white LED that is configured to emit white light. Shown as including asingle circuit board for mounting of light source bank 40 and imagesensor integrated circuit 50, imaging module 200 can also have spacedapart circuit boards for carrying light source bank 40 and image sensorintegrated circuit 50, respectively.

A plurality of operating modes of terminal 1000 is described withreference to the timing diagrams of FIGS. 4-7. Referring to FIG. 4timing diagram 402 is a timing diagram illustrating operation ofterminal when the operating mode Camera 1 is active.

The camera operating mode “Camera 1” can be made active by actuation ofbutton 1302. Signal 1402 indicates the activation period of theoperating mode. Signal 1410 is a trigger signal, where logic highperiods of signal 1402 indicate active periods of a trigger signal 1410.Signal 1412 is an exposure control signal, wherein high periods ofsignal indicate exposure periods of image sensor array 33. Signal 1414indicates readout periods of images sensor array 33. Signal 1410 is anenergization level of light source bank 40. Timeline 1416 indicatesprocessing periods of CPU 150 of terminal 1000 for processing variousframes of image data. When the operating mode is activated terminal 1000can be operative to activate image sensor array 33 for exposure andreadout and processing of image data. Prior to a time that a triggersignal 1410 is activated, frames that are processed during operation inthe Camera 1 operating mode are subject to processing for parameterdetermination, e.g., exposure and or gain setting determination. Afteractivation of a trigger signal 1410 terminal 1000 can utilize aparameter or parameters determined prior to activation of the triggersignal for capture of a frame of image data which in one embodiment cancomprise readout, conversion, and buffering of the frame of image datainto a memory, e.g., memory 80 as will be described herein. Duringexposure periods 4122, 4124, 4126, 4128, 4130, 4132, 4134 of framescaptured subsequent to activation of a trigger signal 1410, an energylevel of light source bank 40 can be activated to a level greater thanbefore the activation of trigger signal 1410. During the activationperiod of trigger signal 1410 a plurality of frames can be captured andsubject to processing during processing periods 4162, 4164, 4166, 4168,4170, 4172, 4174. The processing can include averaging a succession offrames for noise reduction. The processing of frames can also includescoring for selection of a best frame for output. The processing canalso include processing for attempting to decode a decodable indiciarepresentation such as a bar code representation. The processing canalso include formatting of a frame into a compressed image file format,e.g., JPG, TIF.

Referring to timing diagram 404, timing diagram 404 illustratesoperation of terminal 1000 when the operating mode Flashlight 1 isactive. Signal 1404 indicates the activation period of the operatingmode “Flashlight 1.” Signal 1410 is a trigger signal with logic highperiods of the trigger signal 1410 indicating logic high periods of thetrigger signal active and inactive periods. In the specific exampletrigger signal 1410 is synchronized to the operating mode state signal1404. Such synchronization can be provided by utilization of theoperating mode state signal as a trigger signal. However a separateactuator can be provided for activation of trigger signal 1410. Signal1412 is an exposure control signal, wherein high periods of signalindicate exposure periods of image sensor array 33. Signal 1414indicates readout periods of image sensor array 33. Signal 1418 is adrive signal controlling an energization level of light source bank 40.Timeline 1416 indicates processing periods of CPU 150 of terminal 1000for processing various frames of image sensor. Referring to signals 1412and 1414, signals 1412 and 1416 can be maintained in a logic low stateto restrict operation of image sensor array 33 in the Flashlight 1operating mode, thus significantly reducing power consumption relativeto a camera operating mode. Power consumption is also reduced for thereason that CPU 150 does not process image data in the mode depicted inthe timing diagram of FIG. 5. Referring to light bank energizationsignal 1418 light source bank 40 can be energized to be ON during theactivation period of the Flashlight Operating mode 1. While a steadystate drive signal is depicted in timeline 1418 light source bank 40 canalso be driven with a pulsed drive signal. The trigger signal activationperiod indicated by the logic high period of trigger signal 1410 canterminate on occurrence of a termination condition. A terminationcondition can be e.g. manual deactivation of the trigger signal byactuation of a specified actuator of terminal 1000. A terminationcondition can also be e.g. expiration of a timer referring to FIG. 1.Terminal 1000 can be configured to allow an operator to set a timerutilizing a user interface of terminal 1000. For example terminal 1000can be configured so that actuation of button 1320 returns window 1330allowing an operator to designate a time for controlling a timeout of atrigger signal. In the Flashlight 1 operating mode depicted in FIG. 5,terminal 1000 can restrict image sensor array 33 from operation (e.g.,to expose frames for readout) for a duration of operating mode.

Referring to timing diagram 406 of FIG. 6 timing diagram 406 illustratesoperation of terminal 1000 when the operating mode Flashlight 2 isactive. Signal 1406 indicates the activation period of the operatingmode. Signal 1410 indicates active and inactive periods of a triggersignal. Signal 1412 is an exposure control signal, wherein logic highperiods of signal indicates exposure periods of image sensor array 33.Signal 1414 indicates readout periods of image sensor array 33. Signal1418 is an energization level of light source bank 40. Timeline 1416indicates processing periods of CPU 150 of terminal 1000 for processingvarious frames of image sensor. Referring to signals 1412, signals 1414,image sensor array 33 can be minimally controlled during an activationperiod of the Flashlight 2 operating mode for capture and processing ofa parameter determination frame. The parameter determination frame canbe processed for determination of parameter for determining an aspect ofoperation of terminal 1000 in the selected flashlight operating mode. Inone example a parameter determination frame can be processed fordetermining of a white level (average pixel value a frame), a higherwhite value indicating a relatively higher level of ambientillumination. Responsive to the white level, terminal 1000 can controle.g., a time out period of the selected flashlight operating mode ofoperation, and an energization level of light source bank (a higherenergization level may be selected where lower ambient light levels aredetected. Referring to FIG. 6, after processing of the parameterdetermination frame during processing period 6002 terminal 1000 canmaintain signals 1412, 1414 in a logic low state to restrict activationof image sensor array 33 while maintaining an energy level of lightsource bank 40 at energy level suitable for illumination of a viewingarea of terminal 1000. Following determination of an operatingparameter, terminal 1000 can restrict image sensor array 33 fromoperation for a remainder of the operating mode, i.e., for duration oftime the terminal 1000 operates in the Flashlight 2 operating modesubsequent to the determination of the operating parameter determinedduring processing period 6002. Remaining aspects of the Flashlight 2operating mode can be in accordance with the features described withreference to Flashlight 1 operating mode.

Regarding FIG. 7, timing diagram 408 illustrates operation of terminal1000 in the operating mode Flashlight 3. Operation of terminal 1000 inthe operating mode Flashlight 3 is as show in timing diagram 406(Flashlight 2 operating mode) except that in the Flashlight 3 operatingmode, terminal 1000 can periodically capture and process one or moreparameter determination frames a time after capturing and processing aparameter determination frame. With reference to timing diagram terminal1000 can have inactive periods e.g., t₂ and t₁ as shown intermediate ofactive periods, e.g., t₁, t₃, t₅ as shown. During the active periods,image sensor array 33 can be activated for exposure and readout, and CPU150 can be active for processing of parameter denomination frames. Forexample, CPU 150 can process a frame of image data for determining awhite level (average pixel value) of the frame and can responsively set,e.g., a timeout parameter of the mode, or an energization level forlight source bank 40. In one embodiment terminal 1000 can determine thatterminal 1000 should deactivate the present flashlight mode responsivelyto a processing of a parameter determination frame. For example,terminal 1000 can be operated to de-activate a flashlight mode if awhite level of a frame indicates that there is ambient illuminationabove threshold issue (as indicated by the white value). In the exampleof FIG. 7, there is shown a deactivation of a flashlight moderesponsively to frame processing during processing period 6006.

With reference to the timing diagram 408 of FIG. 7, the active periods,t₁, t₂, t₅ can be shorter in duration than inactive periods, t₃, t₄ inwhich image sensor array 33 is restricted from operation and in whichCPU 150 is restricted from processing frames of image data. Referring totiming diagrams 402, 404, 406, 408, is seen that average powerconsumption (power consumed over unit of time) of terminal 1000attributable to activation of image sensor array 33 and processing offrames of image data can be less in flashlight operating mode than in acamera operating mode. In one embodiment of a camera operating mode,image sensor array 33 can be essentially continuously active forexposure and readout of frames of image data for a duration of a timeterminal 1000 operates in the camera operating mode. In one embodiment,the active periods t₁, t₃, t₅ can be shorter in duration than theinactive periods t₂, t₄. In one embodiment, the average period of theactive periods is shorter than the average period of the inactiveperiods. In one embodiment, t₁, t₃, t₅<t₂, t₄. In one embodiment, t₁,t₃, t₅<<t₂, t₄. In one embodiment, inactive periods t₂ and inactiveperiod t₄ are each at least ten times the duration of each of activeperiods t₁, t₃, t₅, and in one embodiment at least one hundred times theduration. In one embodiment, each of active periods t₁, t₃, t₅ has aduration of less than 1 second, and each of inactive periods has aduration of greater than one minute, and in another embodiment greaterthan 5 min, and in another embodiment greater than 10 minutes. Referringto the timing diagrams of FIG. 6, terminal 1000 with Flashlight mode 2active can have an active period t_(a) of about one frame period, and aninactive period t_(b) (t_(a)<<t_(b)) following the active period t_(a)in which operation of image sensor assembly 33 is restricted for aduration of the remaining time terminal 1000 operates in the depictedFlashlight 2 operating mode. In one example, the active period t_(a) hasa duration of less than one second, and the inactive period, t_(b), hasa duration of more than e.g., 1 min., 10 min., 30 min.

A suitable hardware platform for terminal 1000 is described withreference to FIG. 8.

In FIG. 8 there is shown an exemplary electrical circuit diagramsupporting operations of terminal 1000 incorporating an imaging module200 as shown in FIGS. 2, 3, and 4. Terminal 1000 can include imagesensor integrated circuit 50 which can be in communication with DirectMemory Access (DMA) unit 70. Terminal 1000 can also include a centralprocessing unit (CPU) 150. Terminal 1000 can be operative so that inresponse to activation of a trigger signal 1410, terminal 1000continuously reads out, converts and buffers frames of image data into aworking memory such as memory 80 and subjects buffered frames of imagedata to decode attempts for a time that trigger signal 1410 remainsactive. The process of receiving frames of image data and subjecting theframes of image data to a decode attempt can continue until a decodedmessage is determined and output.

Regarding image sensor integrated circuit 50, image sensor integratedcircuit 50 can be provided on an integrated circuit chip depicted inFIG. 2 having an image sensor array 33, column circuitry 34, rowcircuitry 35, a gain block 36, an analog-to-digital converter 37, and atiming and control block 38. Image sensor array 33 can be a twodimensional image sensor array having a plurality of light sensitivepixels formed in a plurality of rows and columns. Terminal 1000 canfurther include a CPU, imaging lens assembly 64, a direct memory access(DMA) unit 70, a volatile system memory 80 (e.g., a random accessmemory, RAM), a nonvolatile system memory 82 (e.g., EPROM), a storagememory 84, a wireline input/output interface 140 (e.g., Ethernet), andan RF transceiver interface 142 (e.g., IEEE 802.11). System memory 80can be regarded as a working memory. Storage memory 84 can be providedby e.g., a hard drive, or a flash memory device, which flash memorydevice can also provide various functions of system non-volatile memory82. Terminal 1000 can also include a keyboard 122, a trigger button 124,and a pointer mechanism 126 for input of data and for initiation ofvarious controls and a display 130 for output of information to anoperator. Terminal 1000 can also include a touch panel 132, and thecomponents of touch panel 132 and display 130 can be regarded as a touchscreen. A user interface at terminal 1000 can be provided by acombination of one or more of devices 122, 124, 126, 130, 132. Terminal1000 can also include a system bus 120 providing communication betweenCPU 150 and various components of terminal 1000. DMA unit 70 can beprovided by, e.g., a field programmable gate array (FPGA) or anapplication specific integrated circuit (ASIC). While shown as beingseparate units, DMA unit 70 and CPU 150 can be provided on a commonintegrated circuit.

In response to control signals transmitted by CPU 150, timing andcontrol circuit 38 can send image sensor array timing signals to array33 such as reset, exposure control, and readout timing signals. After anexposure period, a frame of image data can be read out of image sensorarray 33. Analog image signals that are read out of array 33 can beamplified by gain block 36 converted into digital form byanalog-to-digital converter 37 and sent to DMA unit 70. DMA unit 70, inturn, can transfer digitized image data for buffering into volatilememory 80. CPU 150 can address frames of image data buffered in volatilememory 80 for processing. A capture of a frame or image data can bereproduced as including the steps of readout, conversion and buffering.Such processing can include attempting to decode for decodable indiciarepresented in a frame of image data.

Further regarding the block diagram of FIG. 8, terminal 1000 can includeregulator 76 for regulating the delivery of power to light source bank40. For supplying power to the regulator 76 there can be a power supply78, which can be interfaced to various alternative power sources, e.g.,a battery 92, a USB cable 94, an AC/DC transformer 94.

It has been described that terminal 1000 can subject received frames todecoding processing. In subjecting a frame of image data to decodingprocessing, terminal 1000 can attempt to decode a decodable indicia,e.g., a bar code symbol or an OCR character. For example, in attemptingto decode a 1D bar code symbol represented in a frame of image data, CPU150 can execute the following processes: First, CPU 150 can launch ascan line in a frame of image data, e.g., at a center of a frame, or acoordinate location determined to include a decodable indiciarepresentation. Next, CPU 150 can perform a second derivative edgedetection to detect edges. After completing edge detection, CPU 150 candetermine data indicating widths between edges. CPU 150 can then searchfor start/stop character element sequences and if found, derive elementsequence characters character by character by comparing with a characterset table. For certain symbologies, CPU 150 can also perform a checksumcomputation. If CPU 150 successfully determines all characters between astart/stop character sequence and successfully calculates a checksum (ifapplicable), CPU 150 can out a decoded message. When outputting adecoded message, CPU 150 can one or more of (a) initiate transfer of thedecoded message to an external device, (b) initiate display of a decodedmessage on a display of terminal 1000, (c) attach a flag to a buffereddecoded message determined by CPU 150, and (d) write the decoded messageto an address on long term memory, e.g., 82 and/or 84. At the time ofoutputting a decoded message, CPU 150 can send a signal to an acousticoutput device of terminal 1000 (not shown) to emit a beep.

A system diagram of terminal 1000 is shown in FIG. 9. Terminal 1000 caninclude hardware 902, e.g., CPU 150 and various memory elements 80, 82,84. Terminal 1000 can also include system level software 904, which caninclude a basic input/output system (BIOS) and an operating system (OS).Terminal 1000 can also include application level software 906, such asfile directory stored software programs. On bootup of terminal 1000,program code of a BIOS can be executed by CPU 150 and an operatingsystem can be loaded from a storage memory, e.g., memory 84 into memory80 for execution. When program code of an OS has been loaded into memory80, it is available for immediate execution by CPU 150. In someembodiments, a subset of program code making up an OS can remain storedin storage memory 84 after completion of bootup until it is requested,at which time it can be loaded into memory 80 for execution. Memory 80as set forth herein can be a system volatile memory and can be a randomaccess memory (RAM). At the completion of bootup, application softwareprograms of terminal 1000 can remain in a file directory defined instorage memory 84 until, responsively to a command initiated by anoperators, it is loaded from memory 84 to memory 80 for execution.Terminal 1000 can be operative so that after bootup is complete,software programs of application level software 906 can be accessed byan operator with use of a user interface of terminal 1000. The BIOS ofterminal 1000 can provide basic input/output functions of terminal 1000,e.g., for initializing peripheral devices, such as devices 50, 80, 82,84, 122, 124, 126, 130, 132, 140, 142, 76, 40. The BIOS of terminal 1000can include program code for execution by CPU 150 that is stored on asystem non-volatile memory 82 of terminal e.g., a read only memory(ROM). Terminal 1000 can be operative so that program code of the BIOSis either executed on bootup by CPU 150 or is available for immediateexecution by CPU 150 on completion of bootup. The operating system (OS)of terminal 1000 can provide a number of functions including providingan interface to device drivers allowing peripheral devices of terminalsuch as devices 50, 80, 82, 84, 122, 124, 126, 130, 132, 140, 142, 76,40, 3 to be controlled. The operating system of terminal can alsoschedule tasks, respond to interrupts, and provide file managementservices allowing access to files stored in a file directory ofterminal. Terminal 1000 can be operative so that on power up of terminal1000, terminal 1000 commences a bootup process (bootup). By way of abootup process, program code of BIOS of terminal 1000 can be executed byCPU 150, and if not executed by CPU 1250 during bootup can be availablefor immediate execution by CPU 150, e.g., by way of it being stored insystem non-volatile memory 82 which can be provided by a ROM. As part ofthe bootup, following execution of program code of the BIOS, anoperating system of terminal 1000 can be loaded from storage memory 84to memory 80 e.g., a RAM for execution by CPU 150. Software applicationprograms of terminal 1000 can be controlled by the operating system. Inone example, a command of a software program included as part of theapplication level software 906 can be executed by CPU 150 within a timeslot that is established by a scheduler of a previously loaded operatingsystem. An example of a suitable operating system for terminal 1000 isthe WINDOWS CE operating system.

There is set forth herein a terminal comprising an image sensor arrayhaving a plurality of pixels arranged over a two dimensional area; animaging lens for focusing an image onto the image sensor array whereinthe imaging lens in combination with the image sensor array define afield of view of the terminal; a light source bank for use in projectinglight in a direction of the field of view; a hand held housingincorporating the image sensor array; a CPU configured to execute systemlevel software, the system level software including a basic input/outputsystem (BIOS) and an operating system; wherein the terminal isconfigured to be operative in an operator selectable camera operatingmode and an operator selectable flashlight operating mode; wherein theterminal in the camera operating mode executes a first software program,the terminal in accordance with the first software program subsequent toactivation of a trigger signal energizing the light source bank andcontrolling the image sensor array so that the terminal has a firstaverage power consumption attributable to activation of the image sensorarray and processing of image data; wherein the terminal in theflashlight operating mode executes a second software program, theterminal in accordance with the second software program energizing thelight source bank and controlling the image sensor array so that theterminal in the flashlight operating mode has a second average powerconsumption attributable to the activation of the image sensor array andprocessing of image data, the second average power consumption beingless than the first average power consumption; wherein said firstsoftware program is executed as an application controlled by saidoperating system; and wherein said second software program is providedas a part of the system level software.

In one embodiment, the software architecture facilitating operation ofthe terminal in a camera operating mode can be differentiated from asoftware architecture facilitating operation of the terminal in aflashlight mode. In one embodiment, the camera operating mode isfacilitated with use of an application level software program that iscontrolled by the operating system and a flashlight operating mode isfacilitated with use of a software program that is incorporated as partof the system level software 904, e.g., as part of a terminal's BIOS oroperating system. In one embodiment, a software program facilitatingoperation of terminal 1000 in a camera operating mode can be stored in aformatted executable file format in a file directory of terminal 1000which file directory can be established in storage memory 84. Terminal1000 can be operative so that an application level software program canremain stored in a file directory of storage memory 84 after bootup iscomplete, and after completion of bootup can be loaded into memory 80,e.g., RAM for execution (by CPU 150) responsively to an operatorinitiated command.

Facilitating a camera operating mode with use of an application levelsoftware program that is controlled by the operating system can beadvantageous for a number of reasons. For example, such architectureallows updates of existing programs to be made without deactivation ofterminal 1000. Such architecture also allows new software programapplications (e.g., a Camera 2 operating mode, Camera 3 operating mode)to be downloaded into terminal 1000 without deactivation of terminal1000. It may be desirable to provide a new camera mode, e.g., ifterminal 1000 is to be used in a new environment (an environment havinga specific lighting condition, or an environment having specific typesof recognizable objects). Further, facilitating a camera mode with theuse of an application level software program simplifies development ofthe software program. For example, commands for contemporaneous controlof plurality of different processes, e.g., frame capture and image dataprocessing (including processing for formatting into a compressedformat) can be defined with use of application level program code andthe scheduling of required tasks of the variety of processes can behandled by the operating system.

Facilitating a flashlight operating mode with use of a software programincorporated as part of the system software 904 can be advantageous fora number of reasons. For example, a time lag associated with activatingthe mode can be substantially reduced. A flashlight mode can befacilitated with use of a software program of system level software 904.In one embodiment, a software program facilitating a flashlight mode canbe provided as part of a BIOS, and in one embodiment can be stored on asystem non-volatile memory 82, e.g., a ROM, where it is available forimmediate execution by CPU 150 without a time delay resulting from anoperator using a user interface of terminal 1000 for identifying acertain software program identifier in a file directory and without atime delay resulting from loading of program code for execution intomemory 80. In one embodiment, a software program facilitating aflashlight mode can be provided as part of an operating system. Ineither case (whether the software program includes code for execution byCPU 150 that is part of the BIOS or code for execution by CPU 150 thatis part of the OS), the software program, after completion of bootup, isavailable for immediate execution by CPU 150 responsively to a commandinitiated by an operator, without a delay involving identifying asoftware program within a file directory and without a software loadingdelay resulting from a loading of program code into memory 80. Where aflashlight mode is facilitated with use of a BIOS software program, aprogram code of the software program, by way of it being stored inmemory 82, e.g., ROM, can be available for immediate execution by CPU150 before an operating system has loaded.

System level software programs provided by third parties are availablein forms that allow them to be customized by integrators. For example,WINDOWS CE by Microsoft is available with tools that allow customizationso the system level software can be used with a specific hardwareplatform, e.g., a specific keyboard 122 and display 130. In oneembodiment, a software program of terminal 1000 that facilitatesoperation in a flashlight mode includes a system level software programthat provides for activation of a flashlight mode (in one embodiment,activation of the mode and simultaneous activation of trigger signal1410) on activation of a specific “key sequence” e.g., a specific set ofat least one button of keyboard 122, (e.g., CTRL+“X”). A softwareprogram of terminal 1000 that facilitates operation in a flashlight modecan also include a system level software program including system levelprogram code that provides for deactivation of a flashlight mode (in oneembodiment, deactivation of the mode and simultaneous deactivation ofthe trigger signal 1410) on actuation of a specific set of at least onebutton of keyboard 122 (e.g., CTRL+“Y”). Terminal 1000 can also beoperative so that a flashlight mode is deactivated on expiration of atimeout. By providing a flashlight mode with use of a system levelsoftware program (e.g., as part of the BIOS or OS) available forexecution by CPU 150 before or on completion of bootup, an operator doesnot have to access any file from a file directory for loading intomemory 80 for activation of the mode. The mode can be made alwaysimmediately available without access or loading delay by activation ofcertain at least one actuator. The immediate availability of the modecan be particularly advantageous in view of the fact that a flashlightmode can be commonly accessed in emergency situations.

A small sample of the methods of an apparatus described herein are asfollows:

-   A1. A terminal comprising:

an image sensor array having a plurality of pixels arranged over a twodimensional area;

an imaging lens for use in focusing an image onto the image sensor arraywherein the imaging lens in combination with the image sensor arraydefine a field of view of the terminal;

a light source bank for use in projecting light in a direction of thefield of view;

a hand held housing incorporating the image sensor array;

wherein the terminal is configured to be operative in an operatorselectable camera operating mode and an operator selectable flashlightoperating mode;

wherein the terminal is operative so that when a trigger signal isactivated when operating in the camera operating mode, the terminalcaptures and processes a plurality of frames of image data, andenergizes the light source bank during exposure periods for theplurality of frames; and

wherein the terminal is further operative so that when a trigger signalis activated when operating in the flashlight operating mode, theterminal energizes the light source bank and restricts operation of theimage sensor array for a duration of the flashlight operating mode.

-   A2. The terminal of A1, wherein the light source bank comprises a    white light emitting LED.-   A3. The terminal of A1, wherein the light source bank comprises a    single white light emitting LED.-   A4. The terminal of A1, wherein the terminal when processing the    plurality of frames of image data in the camera operating mode    attempts to decode a bar code symbol utilizing at least one of the    plurality of frames.-   A5. The terminal of A1, wherein the terminal in the camera operating    mode selectively energizes the light source bank so that the light    source bank is de-energized intermediate of the plurality of    exposure periods.-   A6. The terminal of A1, wherein the terminal includes a random    access memory and wherein for operation in the camera operating    mode, the terminal executes a first software program, and wherein    for operation in the flashlight operating mode, the terminal    executes a second software program, wherein the first software    program is provided by an application level software program not    loaded into the random access memory during bootup of the terminal,    and wherein the second software program is provided by system level    software program that is available for immediate execution before or    on completion of a bootup of the terminal.-   B1. A terminal comprising:

an image sensor array having a plurality of pixels arranged over a twodimensional area;

an imaging lens for use in focusing an image onto the image sensor arraywherein the imaging lens in combination with the image sensor arraydefine a field of view of the terminal;

a light source bank for use in projecting light in a direction of thefield of view;

a hand held housing incorporating the image sensor array;

wherein the terminal is configured to be operative in an operatorselectable camera operating mode and an operator selectable flashlightoperating mode;

wherein the terminal is operative so that when a trigger signal isactivated when operating in the camera operating mode, the terminalcaptures and processes a plurality of frames of image data, andenergizes the light source bank during exposure periods for theplurality of frames, the terminal in the camera operating mode having afirst average power consumption attributable to activity of the imagesensor array and image data processing; and

wherein the terminal in the flashlight operating mode responsively toactivation of a trigger signal and during an active period captures aparameter determination frame and processes the parameter determinationframe to determine an operating parameter determining an aspect ofoperation of the terminal in the flashlight operating mode, the terminalin the flashlight operating mode having a second average powerconsumption attributable to activity of the image sensor array and imagedata processing, the second average power consumption being lower thanthe first average power consumption, the terminal in the flashlightoperating mode restricting operation of the image sensor array during aninactive period subsequent to the active period, the inactive periodbeing longer than the active period.

-   B2. The terminal of B1, wherein the terminal in the flashlight    operating mode subsequent to determination of the operating    parameter restricts operation of the image sensor array for a    duration of the operation of the terminal in the flashlight    operating mode subsequent to the determination of the operating    parameter.-   B3. The terminal of B1, wherein the terminal in the flashlight    operating mode has a second active period following the inactive    period in which the terminal captures a second parameter    determination frame, and processes the second parameter    determination frame, the terminal in the flashlight operating mode    having a second inactive period following the second active period,    wherein a shortest of the first and second inactive periods is    longer than a longest of the first and second active periods.-   B4. The terminal of B3, wherein the shortest of the first and second    inactive periods are at least 10 times the duration of the longest    of the active periods.-   B5. The terminal of B1, wherein the operating parameter is a light    source bank energization level.-   B6. The terminal of B1, wherein the terminal includes a random    access memory and wherein for operation in the camera operating    mode, the terminal executes a first software program, and wherein    for operation in the flashlight operating mode, the terminal    executes a second software program, wherein the first software    program is provided by an application level software program not    loaded into the random access memory during bootup of the terminal,    and wherein the second software program is provided by system level    software program that is available for immediate execution before or    on completion of a bootup of the terminal.-   C1. A terminal comprising:

an image sensor array having a plurality of pixels arranged over a twodimensional area;

an imaging lens for focusing an image onto the image sensor arraywherein the imaging lens in combination with the image sensor arraydefine a field of view of the terminal;

a light source bank for use in projecting light in a direction of thefield of view;

a hand held housing incorporating the image sensor array;

a CPU configured to execute system level software, the system levelsoftware including a basic input/output system (BIOS) and an operatingsystem;

wherein the terminal is configured to be operative in an operatorselectable camera operating mode and an operator selectable flashlightoperating mode;

wherein the terminal in the camera operating mode executes a firstsoftware program, the terminal in accordance with the first softwareprogram subsequent to activation of a trigger signal energizing thelight source bank and controlling the image sensor array so that theterminal has a first average power consumption attributable toactivation of the image sensor array and processing of image data;

wherein the terminal in the flashlight operating mode executes a secondsoftware program, the terminal in accordance with the second softwareprogram energizing the light source bank and controlling the imagesensor array so that the terminal in the flashlight operating mode has asecond average power consumption attributable to the activation of theimage sensor array and processing of image data, the second averagepower consumption being less than the first average power consumption;

wherein said first software program is executed as an applicationcontrolled by the operating system; and

wherein said second software program is provided as a part of the systemlevel software.

-   C2. The terminal of C1, wherein the terminal includes a random    access memory and, wherein the terminal is operative so the first    software program is stored in a file directory of said terminal and    loaded into the random access memory a time after bootup of the    terminal responsively to an operator initiated command.-   C3. The terminal of C1, wherein the terminal includes a random    access memory, and wherein the second software program is loaded    into the random access memory during bootup.-   C4. The terminal of C1, wherein the terminal includes a random    access memory, and wherein the terminal is operative so that the    second software program can be executed without loading of the    operating system into the random access memory.-   C5. The terminal of C1, wherein the terminal is operative so that    the image sensor array is restricted from operation for a duration    of operation of the terminal in the flashlight operating mode.-   C6. The terminal of C1, wherein the terminal includes a system    non-volatile memory provided by a read only memory, and wherein the    second software program is stored in the read only memory for    immediate execution by the CPU without a software loading delay.-   C7. The terminal of C1, wherein the terminal includes a storage    memory, a system non-volatile memory provided by a ROM, and a system    volatile memory provided by a RAM, wherein the first software    program is stored on the storage memory and loaded into the random    access memory for execution by the CPU a time after completion of    bootup of the terminal responsively to an operation initiated    command, and wherein the second software program is stored on the    non-volatile memory for immediate execution by the CPU.

1. A terminal comprising: an image sensor array having a plurality of pixels arranged over a two dimensional area; an imaging lens for use in focusing an image onto the image sensor array wherein the imaging lens in combination with the image sensor array define a field of view of the terminal; a light source bank for use in projecting light in a direction of the field of view; a hand held housing incorporating the image sensor array; wherein the terminal is configured to be operative in an operator selectable camera operating mode and an operator selectable flashlight operating mode; wherein the terminal is operative so that when a trigger signal is activated when operating in the camera operating mode, the terminal captures and processes a plurality of frames of image data, and energizes the light source bank during exposure periods for the plurality of frames, the terminal in the camera operating mode having a first average power consumption attributable to activity of the image sensor array and image data processing; and wherein the terminal in the flashlight operating mode responsively to activation of a trigger signal and during an active period captures a parameter determination frame and processes the parameter determination frame to determine an operating parameter determining an aspect of operation of the terminal in the flashlight operating mode, the terminal in the flashlight operating mode having a second average power consumption attributable to activity of the image sensor array and image data processing, the second average power consumption being lower than the first average power consumption, the terminal in the flashlight operating mode restricting operation of the image sensor array during an inactive period subsequent to the active period, the inactive period being longer than the active period.
 2. The terminal of claim 1, wherein the terminal in the flashlight operating mode subsequent to determination of the operating parameter restricts operation of the image sensor array for a duration of the operation of the terminal in the flashlight operating mode subsequent to the determination of the operating parameter.
 3. The terminal of claim 1, wherein the terminal in the flashlight operating mode has a second active period following the inactive period in which the terminal captures a second parameter determination frame, and processes the second parameter determination frame, the terminal in the flashlight operating mode having a second inactive period following the second active period, wherein a shortest of the first and second inactive periods is longer than a longest of the first and second active periods.
 4. The terminal of claim 3, wherein the shortest of the first and second inactive periods are at least 10 times the duration of the longest of the active periods.
 5. The terminal of claim 1, wherein the operating parameter is a light source bank energization level.
 6. The terminal of claim 1, wherein the terminal includes a random access memory and wherein for operation in the camera operating mode, the terminal executes a first software program, and wherein for operation in the flashlight operating mode, the terminal executes a second software program, wherein the first software program is provided by an application level software program not loaded into the random access memory during bootup of the terminal, and wherein the second software program is provided by system level software program that is available for immediate execution before or on completion of a bootup of the terminal.
 7. A terminal comprising: an image sensor having a field of view; an imaging lens for focusing an image onto the image sensor; and a light source for projecting light in a direction of the field of view; wherein the terminal is configured for: when operating in a camera mode and in response to a trigger signal, capturing frames of image data with the image sensor and energizing the light source during image sensor exposure periods for the captured frames of image data; and when operating in a flashlight mode and in response to a trigger signal: projecting light with the light source during a first image-sensor active period, a first image-sensor inactive period after the first image-sensor active period, a second image-sensor active period after the first image-sensor inactive period, and a second image-sensor inactive period after the second image-sensor active period; capturing a first parameter determination frame with the image sensor during the first image-sensor active period; processing the first parameter determination frame to determine a first operating parameter for the flashlight mode; capturing a second parameter determination frame with the image sensor during the second image-sensor active period; and processing the second parameter determination frame to determine a second operating parameter for the flashlight mode; wherein, when in the camera mode, the terminal has a first average power consumption attributable to activity of the image sensor array and image data processing; wherein, when in the flashlight mode, the terminal has a second average power consumption attributable to activity of the image sensor array and image data processing; wherein the second average power consumption is lower than the first average power consumption; wherein the first image-sensor inactive period is longer than the first image-sensor active period; and wherein the first operating parameter is a light source energization level.
 8. The terminal of claim 7, wherein the terminal is configured for, when operating in the flashlight mode, determining the second operating parameter for the flashlight mode and, thereafter, restricting operation of the sensor array.
 9. The terminal of claim 7, wherein the second operating parameter is a light source energization level.
 10. The terminal of claim 7, wherein the shorter of the first image-sensor inactive period and the second image-sensor inactive period is longer than the longer of the first image-sensor active period and the second image-sensor active period.
 11. The terminal of claim 7, wherein the shorter of the first image-sensor inactive period and the second image-sensor inactive period is at least 10 times the duration of the longer of the first image-sensor active period and the second image-sensor active period.
 12. The terminal of claim 7, wherein the terminal is configured for, when processing the second parameter determination frame to determine a second operating parameter for the flashlight mode, determining the second operating parameter such that the second operating parameter has a different value from the first operating parameter.
 13. The terminal of claim 7, comprising a random access memory, wherein the terminal is configured for: when in the camera mode, executing a first software program provided by an application level software program not loaded into the random access memory during bootup of the terminal; and when in the flashlight mode, executing a second software program provided by a system level software program that is available for immediate execution before or on completion of a bootup of the terminal.
 14. A terminal comprising: an image sensor having a field of view; an imaging lens for focusing an image onto the image sensor; and a light source for projecting light in a direction of the field of view; wherein the terminal is configured for: when operating in a camera mode and in response to a trigger signal, capturing frames of image data with the image sensor and energizing the light source during image sensor exposure periods for the captured frames of image data; and when operating in a flashlight mode and in response to a trigger signal, projecting light with the light source during an image-sensor active period and an image-sensor inactive period, capturing a parameter determination frame with the image sensor during the image-sensor active period, and processing the parameter determination frame to determine an operating parameter for the flashlight mode, the image-sensor inactive period being longer than the image-sensor active period; wherein, when in the camera mode, the terminal has a first average power consumption attributable to activity of the image sensor array and image data processing; wherein, when in the flashlight mode, the terminal has a second average power consumption attributable to activity of the image sensor array and image data processing; and wherein the second average power consumption is lower than the first average power consumption.
 15. The terminal of claim 14, wherein the terminal is configured for, when operating in the flashlight mode, determining the operating parameter for the flashlight mode and, thereafter, restricting operation of the sensor array.
 16. The terminal of claim 14, wherein the terminal is configured for, when operating in the flashlight mode, projecting light with the light source during a second image-sensor active period after the image-sensor inactive period and a second image-sensor inactive period after the second image-sensor active period, capturing a second parameter determination frame with the image sensor during the second image-sensor active period, and processing the second parameter determination frame to determine a second operating parameter for the flashlight mode.
 17. The terminal of claim 16, wherein the shorter of the image-sensor inactive period and the second image-sensor inactive period is longer than the longer of the image-sensor active period and the second image-sensor active period.
 18. The terminal of claim 16, wherein the shorter of the image-sensor inactive period and the second image-sensor inactive period is at least 10 times the duration of the longer of the image-sensor active period and the second image-sensor active period.
 19. The terminal of claim 14, wherein the operating parameter is a light source energization level.
 20. The terminal of claim 14, comprising a random access memory, wherein the terminal is configured for: when in the camera mode, executing a first software program provided by an application level software program not loaded into the random access memory during bootup of the terminal; and when in the flashlight mode, executing a second software program provided by a system level software program that is available for immediate execution before or on completion of a bootup of the terminal. 